// number
typeof NaN
typeof Infinity
Object.prototype.toString.call(1)
// string
typeof 'hello'
// boolean
typeof true
Object.prototype.toString.call(false)
// object
typeof null
Object.prototype.toString.call(null)
Object.prototype.toString.call({})
// symbol
typeof Symbol(1)
// undefined
typeof undefined
// function
typeof alert

// Array
[].constructor == Array
[] instanceof Array
Object.prototype.toString.call([])
Array.isArray([])
// Date
let d = new Date()
d.constructor == Date
d instanceof Date
// String
''.constructor == String
// Number
(0).constructor == Number
// Boolean
false.constructor == Boolean
// Function
confirm.constructor == Function
confirm instanceof Function
